#include "widget.h"
#include "ui_widget.h"
#include <QTimer>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 实现一个每隔 100ms 就进度条 +1%，所以需要用到定时器，每隔 100ms 就调用一次 timeout 信号；
    timer = new QTimer(this);
    connect(timer, &QTimer::timeout, this, &Widget::handle);
    // 启动定时器，设置周期
    timer->start(100);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handle()
{
    // 每隔100ms，就会触发 timeout 信号，因为timeout信号关联了这个槽函数，所以每次都会调用这个函数
    // 获取当前的进度条的值
    int value = ui->progressBar->value();
    if(value == 100)
    {
        timer->stop();
        return;
    }
    ui->progressBar->setValue(value+1);
}

